home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Run Magazine ReRun 1987 March & April
/
rerun-1987-03-04.d64
/
menu 64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
2KB
|
63 lines
1 rem *********************************
2 rem * 'auto menu' *
3 rem * reads directory & auto loads *
4 rem * program selected by the user *
5 rem * by *
6 rem * joe w. rocke 7/27/84 *
7 rem *********************************
10 poke53280,0:poke53281,0
20 dim n$(100):cx=54272:print "[147]"
30 print"[147][129]"
40 x$=" "
50 forx=1to5:printx$:next
60 print"":print chr$(117);
70 for x=1 to 38:printchr$(100);:next
80 printchr$(105);:for x=1 to 5
90 printchr$(103)spc(38)chr$(104)" "chr$(157);:next
100 printchr$(106);:for x=1 to 38:printchr$(102);:next:printchr$(107)
110 print""tab(14)"* auto menu *"
120 printtab(12)"[158]reading directory"
129 rem --- read disk directory ---
130 open1,8,0,"$"
140 get#1,b$:ifst<>0then260
149 rem --- line 150 limits to 26 files ---
150 iff>=27then260
160 ifb$<>chr$(34)then140
170 n$="":print"":poke 214,8:print
180 get#1,b$:ifb$<>chr$(34)thenn$=n$+b$:goto180
190 get#1,b$:ifb$=chr$(32)then190
199 rem -- following lines skip the loading files --
200 ifn$="boot"thenf=f-1:goto240
220 ifleft$(n$,1)=" "thenf=f-1:goto240
230 n$(f)=" "+n$
240 get#1,b$:ifb$<>""then240
250 ifst=0thenf=f+1:goto140
260 close1
269 rem - print first column of names -
270 fore=1tof/2:print"[153]"chr$(64+e)""n$(e):next
280 print"":poke214,8:print
289 rem -- then 2nd column of names ---
290 fore=f/2+1tof:printspc(20)"[153]"chr$(64+e)""n$(e):next
300 print""
310 printtab(12)"[158] press letter key "
320 printtab(5)"to auto load program selected"
330 getm$:ifm$=""then 330
340 ifm$=chr$(13)thenrun
350 ifm$<"a"orm$>chr$(64+f)then330
360 p=asc(m$)-64:print"[147]"
370 iflen(n$(p))>12thenn$(p)=left$(n$(p),12)+"*"
380 n$(p)=mid$(n$(p),2,len(n$(p)))
390 print"load"chr$(34)n$(p)chr$(34)",8[145][145][145]"
400 rem *******************************
410 rem * if you know the pgm is 'ml' *
420 rem * the example below will load *
430 rem * and file & run it. examples *
440 rem * (3) are shown below. *
450 rem *******************************
460 ifleft$(n$(p),4)="tool"thena$="sys64738"+chr$(13):goto500
470 ifleft$(n$(p),12)="constructio*"thena$="sys49152"+chr$(13):goto500
480 ifleft$(n$(p),5)="ultra"thena$="sys49152"+chr$(13):goto500
490 a$="run"+chr$(13)
500 poke631,13:forb=1tolen(a$):poke631+b,asc(mid$(a$,b,1)):next:poke198,10
510 new